/**
 * Project Name:meatball-core
 * File Name:PayProperties.java
 * Package Name:com.meatball.utils.pay.properties
 * Date:2018年3月19日上午9:10:33
 * Copyright (c) ©1994-2018 Scjydz.com All Rights Reserved.
*/
package com.meatball.utils.pay.properties;

import java.io.Serializable;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

/**   
 * @Title: PayProperties.java 
 * @Package com.meatball.utils.pay.properties 
 * @Description: TODO(支付宝支付参数) 
 * @author 張翔宇  
 * @date 2018年3月19日 上午9:10:33 
 * @version V1.0   
 */
@Component
@ConfigurationProperties(prefix = "alipay")
@PropertySource("classpath:alipay-test.yml")
@Data
public class AlipayPayProperties implements Serializable {
	private static final long serialVersionUID = 1L;

	// 支付宝网关名
	@Value("${open_api_domain}")
	private String openApiDomain;
	
	//
	@Value("${mcloud_api_domain}")
	private String mcloudApiDomain;
	
	// 
	@Value("${pid}")
	private String pid;
	
	//
	@Value("${appid}")
	private String appid;
	
	// RSA私钥
	@Value("${private_key}")
	private String privateKey;
	
	// RSA公钥
	@Value("${public_key}")
	private String publicKey;
	
	// SHA256withRsa对应支付宝公钥
	@Value("${alipay_public_key}")
	private String alipayPublicKey;
	
	// 签名类型: RSA->SHA1withRsa,RSA2->SHA256withRsa
	@Value("${sign_type}")
	private String signType;
	
	// 当面付最大查询次数和查询间隔（毫秒）
	@Value("${max_query_retry}")
	private String maxQueryRetry;
	@Value("${query_duration}")
	private String queryDuration;
	
	// 当面付最大撤销次数和撤销间隔（毫秒）
	@Value("${max_cancel_retry}")
	private String maxCancelRetry;
	@Value("${cancel_duration}")
	private String cancelDuration;
	
	// 交易保障线程第一次调度延迟和调度间隔（秒）
	@Value("${heartbeat_delay}")
	private String heartbeatDelay;
	@Value("${heartbeat_duration}")
	private String heartbeatDuration;

	/**
	 * 回调通知地址
	 */
	@Value("${notify_url}")
	private String notifyUrl;

	/**
	 * 回调页面
	 */
	@Value("${return_url}")
	private String returnUrl;
}
